//#########################################################
//#
//# Titre : 	Utilitaires Liste Chainee et CHAT LINUX Automne 13
//#			SIF-1015 - Systeme d'exploitation
//#			Universite du Quebec a Trois-Rivieres
//#
//# Auteur : 	Francois Meunier
//#	Date :	Septembre 2013
//#
//# Langage : 	ANSI C on LINUX 
//#
//#######################################

#include "gestionFIFO.h"

void Mkfifo(const char *path, mode_t mode)
{
	if(mkfifo(path, mode) != 0)
	{
		endwin();//specifique pour quitter ncurses

		printf("\n\n>>> Erreur a la creation du FIFO!\n\n");
		
		exit(EXIT_FAILURE);
	}
}

int Open_fifo(const char *path, int flags)
{
	int fd;
	if((fd = open(path, flags)) == -1)
	{
		endwin();//specifique pour quitter ncurses

		printf("\n\n>>> Erreur a l'ouverture du FIFO : %s!\n\n", path);
		
		exit(EXIT_FAILURE);
	}

return fd;
}

int createFifo(char fifoName[FIFO_NAME_SIZE])
{
	if(access(fifoName, F_OK) == -1)
	{
		Mkfifo(fifoName, 0777);

		return 0;//n'existait pas
	}

return 1;//Existe deja
}
